#ifndef GRAPHICS_BOUNDING_SPHERE_H
#define GRAPHICS_BOUNDING_SPHERE_H

#include "graphics/basic.h"
#include "graphics/bounding_volume.h"

namespace graphics {

class BoundingSphere : public BoundingVolume {
public:
    bool Overlaps(const BoundingVolume * other) const;
    bool OverlapWith(const AxisAlignedBoundingBox * other) const;
    bool OverlapWith(const OrientedBoundingBox * other) const;
    bool OverlapWith(const BoundingSphere * other) const;

    const float & GetRadius() const {return radius_;}
    const Vector3 & GetCenter() const {return center_;}

 

private:
    float radius_;
    Point center_;
};

}

#endif